CONTENTS | INDEX | PREV | NEXT
FUNCTION
DICE Preprocessor
SYNOPSIS
dcpp sourcefile [-o outfile] [-I includedir ...] options
DESCRIPTION
DCPP is a C preprocessor. C code is first preprocessed, then
compiled. The preprocessing step resolves all # operators, like
#define and #include, and generally prepares the C code for
compilation. Most programmers use dcc or VMake, and do not invoke
dcpp directly.
Dcpp automatically scans DINCLUDE:, DINCLUDE:PD/, and DINCLUDE:AMIGA/
. Any -I option directories are searched in sequence BEFORE dcpp's
default search path. The last default directory, DINCLUDE:AMIGA/, may
be modified with the -1.3, -2.0 and -3.0 options.
Note that DINCLUDE:PD/ is meant to be a place to put public domain
header files so as not to clutter the top level DINCLUDE: directory.
As with all DCC commands, the space between the option and an
associated file/dir argument is optional.
The following symbols are defined by default
Symbol : Type : Usage
==============+=============+=======================================
__LINE__ : integer : Current line number.
: constant :
--------------+-------------+---------------------------------------
__DATE__ : string : Current date.
--------------+-------------+---------------------------------------
__TIME__ : string : Current time.
--------------+-------------+---------------------------------------
__FILE__ : string : Current file.
--------------+-------------+---------------------------------------
__BASE_FILE__ : string : Base source file. Allows an include
: : file to know which C file included it
--------------+-------------+---------------------------------------
__STDC__ : boolean : Indicates ANSI compiler.
--------------+-------------+---------------------------------------
mc68000 : integer : Indicates Motorola CPU.
: constant :
--------------+-------------+---------------------------------------
_DCC : integer : Indicates the DICE system.
: constant :
--------------+-------------+---------------------------------------
AMIGA : integer : Everyone's favorite computer.
: constant :
--------------+-------------+---------------------------------------
_FFP_FLOAT : boolean : Set if single precision floats are in
: : Fast Floating Point format
--------------+-------------+---------------------------------------
_SP_FLOAT : boolean : Set if single precision floats are in
: : IEEE-SING format (default).
--------------+-------------+---------------------------------------
-1.x -2.x -3.x
Selects operating system revision compatibility for the
Preprocessor. If not specified, DCPP searches dinclude:amiga for
amiga includes. If specified, DCPP searches dinclude:amigaNN for
the includes.
DCC supports this option and passes it along to dcpp. This
allows developers to compile under any OS revision with the flick
of an option. (Note: DCC also sets a different amiga.lib based
on these options).
-d[#] This option turns on DCPP debugging
-ofile This option sets the output file, otherwise stdout is used.
-ffp Passed from DCC, tells preprocessor to define _FFP_FLOAT. If not
specified, preprocessor defines _SP_FLOAT. This exists to better
support alternate floating point models in header files.
-Dvar[=val]
This option predefines a symbol or macro.
-E file specify stderr file, any errors are appended to file instead of
to stdout. Useful for batch compiles
-U This option undefines the following symbols:
__STDC__ mc68000 _DCC AMIGA
-Hprecomp=header
Enable use/creation of precompiled header files. See chapter for
more information.
-Ht:defs.m=defs.h
-I0 This option causes DCPP to *NOT* include any default directories
in the include search list.
-I dir This option adds the specified directory to the include search
list. A hanging slash on the end of the path is not required.
The space is optional.
-// Enable C++ style // comments. The remainder of the line after //
is encountered is interpreted as a comment. This differs from /*
style commenting in that no explicit comment-terminator is
required.
-notri Disable tri-graph scan pass. Note that the tri-graph pass is
implemented in assembly and does not slow down preprocessing in
any noticeable fashion, you should not disable tri-graphs unless
you need to.
SEE ALSO
dcc, dc1